SymfonyのConstraint class
Constraint classを作ってvalidatorを作るやつ
Symfonyにおける「Validation」は「Objectがvalidかどうか」なので、FormとEntityのvalidationの仕方が同じになる
Entityのpropertyに対して
get, is, hasで始まるpublich methodに対して
e.g. Entityのgetter
add()の中のconstraintsとかに指定する
一覧
NotBlank, Length, LessThan, etc.
自作
なんでConstraintとConstriantValidatorの両方を作らないといけないの?
Constraintを継承する方のclassの存在意義がわからない
手順
Constrantを継承したclassを作る
何のためにあるのかわからない
messsageしか定義しないのか?
code:php
class A extends Constraint {}
ConstraintValidtorを継承したclassを作る
この中で実際のvalidataionの処理などを書く
code:php
class B extends ConstrraintValidator {}
実際のformBuilder内で呼び出すのはConstraintを継承したClassの方
code:php
->add('ohge', TextareaType::class, [
'required' => false,
'constraints' => [
new A(),
],
])
formの方ならjqueryで書いちゃったほうが楽な気もするな..mrsekut.icon
何で「他の手段ならもっと楽にできそうなこと」をこんな大変にしちゃうかな
validation時に、他のfieldの値を参照したい時